#非 root 用户：创建并使用非 root 用户提升安全性。
#精简基础镜像：使用 Alpine 版的 JRE 镜像，保持镜像最小化。
#环境变量：通过 ENV 设定时区和 Java 运行参数，确保配置灵活性。

FROM eclipse-temurin:21-jre-alpine

# 设置工作目录
WORKDIR /app

# 复制打包好的应用到镜像
COPY target/architecture-station-gateway-*.jar app.jar

# 创建非 root 用户
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser

# 设置时区和 Java 启动参数
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"

# 暴露应用运行端口
EXPOSE 8341

# 启动应用
CMD java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar --spring.profiles.active=prod
